Linux环境部署运行Jar包指定JDK版本创建启停服务脚本 您所在的位置:网站首页 linux 用指定版本jdk 启动项目 Linux环境部署运行Jar包指定JDK版本创建启停服务脚本

Linux环境部署运行Jar包指定JDK版本创建启停服务脚本

2024-06-26 15:29| 来源: 网络整理| 查看: 265

window系统下部署测试后需要迁移到Linux系统下生产环境运行,由于生产环境设定JAVA_HOME的JDK版本还是1.6,需要指定1.8版本JDK运行Jar包,本文以指定JDK版本创建启停Jar服务的脚本。

查看当前JDK安装路径:echo $JAVA_HOME [root@dbtest test]# echo $JAVA_HOME /usr/lib/jdk1.8.0_191 [root@dbtest test]# 编辑启动脚本  #!/bin/bash # 定义变量 # 要运行的jar包路径,加不加引号都行。 注意:等号两边 不能 有空格,否则会提示command找不到 JAR_NAME=/root/ccshen/sms-ios-1.0.jar # 日志路径,加不加引号都行。 注意:等号两边 不能 有空格,否则会提示command找不到 LOG_PATH=/root/ccshen/logs/server.log #指定jdk运行环境 JAVA_HOME=/usr/lib/jdk1.8.0_191 # 如果输入格式不对,给出提示! tips() { echo "" echo "WARNING!!!......Tips, please use command: sh sms_start_stop.sh [start|stop|restart|status]. For example: sh sms_start_stop.sh start " echo "" exit 1 } # 启动方法 start() { # 重新获取一下pid,因为其它操作如stop会导致pid的状态更新 pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'` # -z 表示如果$pid为空时执行 if [ -z $pid ]; then nohup $JAVA_HOME/bin/java -jar $JAR_NAME > $LOG_PATH 2>&1 & pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'` echo "" echo "Service ${JAR_NAME} is starting!pid=${pid}" echo "........................Here is the log.............................." echo "....................................................................." tail -f $LOG_PATH echo "........................Start successfully!........................." else echo "" echo "Service ${JAR_NAME} is already running,it's pid = ${pid}. If necessary, please use command: sh sms_start_stop.sh restart." echo "" fi } # 停止方法 stop() { # 重新获取一下pid,因为其它操作如start会导致pid的状态更新 pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'` # -z 表示如果$pid为空时执行。 注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到 if [ -z $pid ]; then echo "" echo "Service ${JAR_NAME} is not running! It's not necessary to stop it!" echo "" else kill -9 $pid echo "" echo "Service stop successfully!pid:${pid} which has been killed forcibly!" echo "" fi } # 输出运行状态方法 status() { # 重新获取一下pid,因为其它操作如stop、restart、start等会导致pid的状态更新 pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'` # -z 表示如果$pid为空时执行。注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到 if [ -z $pid ];then echo "" echo "Service ${JAR_NAME} is not running!" echo "" else echo "" echo "Service ${JAR_NAME} is running. It's pid=${pid}" echo "" fi } # 重启方法 restart() { echo "" echo ".............................Restarting.............................." echo "....................................................................." # 重新获取一下pid,因为其它操作如start会导致pid的状态更新 pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'` # -z 表示如果$pid为空时执行。 注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到 if [ ! -z $pid ]; then kill -9 $pid fi start echo "....................Restart successfully!..........................." } # 根据输入参数执行对应方法,不输入则执行tips提示方法 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) tips ;; esac



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有